Printing system, control method therefor, and photo-direct printing apparatus

ABSTRACT

In a printing system in which a digital camera (DSC) and PD printer apparatus are directly connected via a USB, and image data is transmitted from the DSC to the PD printer apparatus and printed, Capability of the PD printer apparatus is transmitted from the PD printer apparatus to the DSC after communication procedures are established by an application (NCDP) installed in the PD printer apparatus and DSC. The PD printer apparatus is caused to execute print operation in accordance with print conditions set by the DSC on the basis of the transmitted Capability.

FIELD OF THE INVENTION

[0001] The present invention relates to a printing system having aprinting apparatus and an image supply device such as a digital camera,a control method therefor, and a photo-direct printing apparatus.

BACKGROUND OF THE INVENTION

[0002] In recent years, digital cameras (image sensing apparatuses)capable of photographing an image by a simple operation and convertingthe photographed image into digital image data have widely been used. Toprint an image photographed by this camera and use the print as aphotograph, digital image data of the photographed image is temporarilyinput from the digital camera to a PC (computer), and undergoes imageprocessing by the PC. Then, the processed image data is output from thePC to a color printer, which prints the data.

[0003] To the contrary, there have been developed color print systemscapable of directly transferring digital image data from a digitalcamera to a color printer and printing the data without the mediacy ofany PC, and so-called photo-direct (PD) printers capable of directlymounting in a color printer a memory card which is mounted in a digitalcamera and stores a sensed image, and printing the photographed imagestored in the memory card.

[0004] Especially when image data is to be directly transferred from adigital camera to a printer and printed, demands have arisen for theadvent of a photo-direct printer capable coping with digital cameras ofvarious vendors because the specifications and operating methods ofdigital cameras are different between vendors. Such photo-direct printerapparatus receives and prints image data not only from theabove-mentioned digital camera, but also from a cell phone, PDA, andother devices. Further, the printer has various functions. The printerand device cannot predict the capabilities of the partners, and mustexchange pieces of function information.

SUMMARY OF THE INVENTION

[0005] The present invention has been made in consideration of the abovesituation, and has as its feature to provide a printing system capableof receiving and printing image data from image supply devices ofvarious vendors by interface-independent image data transfer andprinting instruction, a control method therefor, and a photo-directprinting apparatus.

[0006] It is another feature of the present invention to provide aprinting system capable of defining a standard protocol between an imagesupply device and a printing apparatus, and executing print processingregardless of the model or vendor, a control method therefor, and aphoto-direct printing apparatus.

[0007] According to the invention, there is provided a printing systemin which an image supply device and a printing apparatus are directlyconnected via a general-purpose interface, and image data is transmittedfrom the image supply device to the printing apparatus and printed, thesystem comprising:

[0008] transmission means for transmitting function information of theprinting apparatus from the printing apparatus to the image supplydevice after establishing a communication procedure by an applicationinstalled in the printing apparatus and the image supply device; and

[0009] means for causing the printing apparatus to execute printoperation in accordance with a print condition set by the image supplydevice on the basis of the function information transmitted by thetransmission means.

[0010] Other features and advantages of the present invention will beapparent from the following description taken in conjunction with theaccompanying drawings, in which like reference characters designate thesame or similar parts throughout the figures thereof.

BRIEF DESCRIPTION OF THE DRAWINGS

[0011] The accompanying drawings, which are incorporated in andconstitute a part of the specification, illustrate embodiments of theinvention and, together with the descriptions, serve to explain theprinciple of the invention.

[0012]FIG. 1 depicts a schematic perspective view showing a PD printerapparatus according to an embodiment of the present invention;

[0013]FIG. 2 depicts a schematic view showing the operation panel of thePD printer apparatus according to the embodiment;

[0014]FIG. 3 is a block diagram showing the arrangement of the main partconcerning control of the PD printer apparatus according to theembodiment;

[0015]FIG. 4 is a block diagram showing the ASIC arrangement of the PDprinter apparatus according to the embodiment;

[0016]FIG. 5 depicts a view for explaining connection between the PDprinter apparatus and a digital camera according to the embodiment;

[0017]FIG. 6 depicts a conceptual view for explaining the softwarearrangement of the PD printer apparatus and digital camera which supportNCDP according to the embodiment;

[0018]FIG. 7 depicts a chart for explaining the outline of NCDPcommunication procedures according to the embodiment;

[0019]FIG. 8 depicts a table for explaining commands in NCDP accordingto the embodiment;

[0020]FIG. 9 depicts a chart for explaining print procedures by “basicprocedures” in NCDP according to the embodiment;

[0021]FIG. 10 depicts a chart for explaining print procedures by“recommended procedures” in NCDP according to the embodiment;

[0022]FIG. 11 depicts a chart for explaining print procedures when anerror occurs in the “recommended procedures” in NCDP according to theembodiment;

[0023]FIG. 12 depicts a view for explaining an example of Capabilitytransmitted in NCDP according to the embodiment;

[0024]FIG. 13 is a flow chart for explaining the outline of NCDPcommunication procedures according to the embodiment;

[0025]FIG. 14 depicts a chart for explaining an example of realizing byusing a PTP architecture an instruction (NCDPStart) which designates thestart of NCDP procedures;

[0026]FIG. 15 depicts a chart for explaining an example of realizing, byusing the PTP architecture, procedures (ProcedureStart) in which a shiftinstruction to each procedure is received from a camera in NCDPprocedures;

[0027]FIG. 16 depicts a chart for explaining an example of realizing byusing the PTP architecture an instruction (NCDPEnd) which designates theend of NCDP procedures;

[0028]FIG. 17 depicts a chart for explaining an example of realizing byusing the PTP architecture an instruction (Capability) for transmittingCapability from the PD printer apparatus to the camera in NCDPprocedures;

[0029]FIG. 18 depicts a chart for explaining an example of realizing byusing the PTP architecture the procedures of an instruction (GetImage)in which the PD printer apparatus acquires an image file held by thecamera in NCDP procedures;

[0030]FIG. 19 depicts a chart for explaining an example of realizing, byusing the PTP architecture, the procedures of an instruction(StatusSend) for transmitting an error status from the PD printerapparatus to the camera in NCDP procedures;

[0031]FIG. 20 depicts a chart for explaining an example of realizing, byusing the PTP architecture, the procedures of an instruction (PageEnd)for transmitting the end of printing one page from the PD printerapparatus to the camera in NCDP procedures;

[0032]FIG. 21 depicts a chart for explaining an example of realizing, byusing the PTP architecture, procedures of issuing a print job endinstruction (JobEnd) from the PD printer apparatus to the camera in NCDPprocedures;

[0033]FIG. 22 depicts a chart for explaining an example of realizing, byusing the PTP architecture, procedures of issuing a print instruction(JobStart) from the camera to the PD printer apparatus in NCDPprocedures;

[0034]FIG. 23 depicts a chart for explaining an example of realizing, byusing the PTP architecture, procedures of issuing a print abortinstruction (JobAbort) from the camera to the PD printer apparatus inNCDP procedures;

[0035]FIG. 24 depicts a chart for explaining an example of realizing, byusing the PTP architecture, procedures of issuing a print restartinstruction (JobContinue) from the camera to the PD printer apparatus inNCDP procedures;

[0036]FIG. 25 depicts a view showing an example of a script which isfirst sent from the printer to a DSC in a ProcedureStart command;

[0037]FIG. 26 depicts a view showing an example of a script which issent from the DSC to the printer subsequently to script 1 in response tothe ProcedureStart command;

[0038]FIG. 27 depicts a view showing example 1 of a script which is sentfrom the DSC to the printer in a JobStart command in the “basicprocedures”;

[0039]FIG. 28 depicts a view showing example 2 of a script which is sentfrom the DSC to the printer in the JobStart command in the “basicprocedures”; and

[0040]FIG. 29 depicts a view showing a script which is sent from the DSCto the printer in the JobStart command in the “recommended procedures”

DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENT

[0041] A preferred embodiment of the present invention will be describedin detail below with reference to the accompanying drawings.

[0042]FIG. 1 depicts a schematic perspective view showing a photo-directprinter apparatus (to be referred to as a PD printer apparatushereinafter) 1000 according to the embodiment of the present invention.The PD printer apparatus 1000 has a general PC printer function ofreceiving data from a host computer (PC) and printing the data, and afunction of directly reading and printing image data stored in a storagemedium such as a memory card, or receiving image data from a digitalcamera and printing the data.

[0043] In FIG. 1, the main body which defines the casing of the PDprinter apparatus 1000 according to the embodiment has casing members: acase M 1001, upper case 1002, access cover 1003, and discharge tray1004. The lower case 1001 forms almost the lower half of the PD printerapparatus 1000, whereas the upper case 1002 forms almost the upper halfof the main body. A combination of these cases forms a hollow structurewith a storage space where each mechanism (to be described later) isstored. The upper and front surfaces have openings. The discharge tray1004 is rotatably held at one end by the lower case 1001, and theopening in the front surface of the lower case 1001 is opened/closed byrotating the discharge tray 1004. To execute print operation, thedischarge tray 1004 is rotated toward the front side to open theopening. Print sheets can be discharged from the opening, and thedischarged print sheets can be sequentially stacked. The discharge tray1004 houses two auxiliary trays 1004 a and 1004 b. These trays arepulled out to enlarge/reduce the paper support area in three stages, asneeded.

[0044] The access cover 1003 is rotatably held at one end by the uppercase 1002 so as to open/close the opening formed in the upper surface.Opening the access cover 1003 enables exchanging a print head cartridge(not shown), ink tank (not shown), or the like stored in the main body.Although not shown, a projection formed on the back surface of theaccess cover 1003 rotates a cover opening/closing lever when the accesscover 1003 is opened/closed. The lever rotation position is detected bya microswitch or the like, thereby detecting the open/closed state ofthe access cover 1003.

[0045] A power key 1005 is provided on the upper surface of the uppercase 1002. An operation panel 1010 having a liquid crystal display 1006,various key switches, and the like is arranged on the right side of theupper case 1002. The structure of the operation panel 1010 will bedescribed in detail with reference to FIG. 2. Reference numeral 1007denotes an automatic feeder which automatically feeds print sheets intothe apparatus main body; numeral 1008 denotes a paper interval selectionlever for adjusting the interval between the print head and the printsheet; and numeral 1009 denotes a card slot into which an adaptercapable of mounting a memory card is inserted. Image data stored in amemory card can be directly received and printed via the adapter. Thememory card (PC) includes, e.g., a compact flash memory, smart media,and memory stick. Reference numeral 1011 denotes a viewer (liquidcrystal display) which is detachable from the main body of the PDprinter apparatus 1000 and is used to display an image of one frame, anindex image, and the like when images stored in the PC card are searchedfor an image to be printed; and numeral 1012 denotes a USB terminal forconnecting a digital camera (to be described later). A USB bus connectorfor connecting a personal computer (PC) is attached to the back surfaceof the PD apparatus 1000.

[0046]FIG. 2 depicts a schematic view showing the operation panel 1010of the PD printer apparatus 1000 according to the embodiment.

[0047] In FIG. 2, the liquid crystal display 1006 displays menu itemsfor various settings of data on items printed on the right and left ofthe display 1006. The displayed items are, for example, the firstphotograph number of a print range, a designated frame number (startframe designation/print frame designation), the last photograph numberof a printed range (end), the number of prints (number of copies), thetype of paper (print sheet) used for printing (paper type), setting ofthe number of photographs to be printed on one paper sheet (layout),designation of the print quality (quality), designation whether to printa photographing date (date printing), designation whether to correct andprint a photograph (image correction), and display of the number ofpaper sheets necessary for printing (number of paper sheets). Theseitems are selected or designated with cursor keys 2001. Referencenumeral 2002 denotes a mode key which allows switching the type ofprinting (index printing, printing of all frames, printing of one frame,or the like) every time the key 2002 is pressed. A corresponding one ofLEDs 2003 is turned on accordingly. Reference numeral 2004 denotes amaintenance key for performing printer maintenance such as cleaning ofthe print head; numeral 2005 denotes a print start key which is pressedto designate the start of printing or establish maintenance setting; andnumeral 2006 denotes a print stop key which is pressed to stop printingor designate to stop maintenance.

[0048] The arrangement of the main part concerning control of the PDprinter apparatus 1000 according to the embodiment will be explainedwith reference to FIG. 3. In FIG. 3, the same reference numerals as inthe foregoing drawings denote the same parts, and a description thereofwill be omitted.

[0049] In FIG. 3, reference numeral 3000 denotes a controller (controlboard); numeral 3001 denotes an ASIC (application specific LSI) whosearrangement will be described in detail below with reference to theblock diagram of FIG. 4; numeral 3002 denotes a DSP (Digital SignalProcessor) which incorporates a CPU and performs various controlprocesses to be described later, and image processes such as conversionfrom a luminance signal (RGB) to a density signal (CMYK), scaling, gammaconversion, and error diffusion; numeral 3003 denotes a memory having aprogram memory 3003 a which stores the control program of the CPU of theDSP 3002, a RAM area which stores a program in running, and a memoryarea functioning as a work memory which stores image data and the like;numeral 3004 denotes a printer engine which is an ink-jet printer typeprinter engine for printing a color image using a plurality of colorinks in this embodiment; numeral 3005 denotes a USB connector serving asa port for connecting a digital camera (DSC) 3012; numeral 3006 denotesa connector for connecting the viewer 1011; and numeral 3008 denotes aUSB bus hub which transmits data from a PC 3010 and outputs the data tothe printer engine 3004 via a USB bus 3021 when the PD printer apparatus1000 prints on the basis of image data from the PC 3010. The connectedPC 3010 can directly exchange data and signals with the printer engine3004 and execute printing (functions as a general PC printer). Referencenumeral 3009 denotes a power connector which receives from a powersupply 3019 a DC voltage converted from a commercial AC voltage. The PC3010 is a general personal computer. Reference numeral 3011 denotes amemory card (PC card) described above; and 3012, the digital camera(DSC: Digital Still Camera).

[0050] Signal exchange between the controller 3000 and the printerengine 3004 is performed via the USB bus 3021 or an IEEE 1284 bus 3022.

[0051]FIG. 4 is a block diagram showing the arrangement of the ASIC3001. Also in FIG. 4, the same reference numerals as in the foregoingdrawings denote the same parts, and a description thereof will beomitted.

[0052] Reference numeral 4001 denotes a PC card interface which readsimage data stored in the mounted PC card 3011 or writes data in the PCcard 3011; and numeral 4002 denotes an IEEE 1284 interface whichexchanges data with the printer engine 3004. The IEEE 1284 interface4002 is a bus used to print image data stored in the digital camera 3012or PC card 3011. Reference numeral 4003 denotes a USB interface whichexchanges data with the PC 3010; numeral 4004 denotes a USB hostinterface which exchanges data with the digital camera 3012; numeral4005 denotes an operation panel interface which receives variousoperation signals from the operation panel 1010 or outputs display datato the display 1006; numeral 4006 denotes a viewer interface whichcontrols display of image data on the viewer 1011; numeral 4007 denotesan interface which controls an interface between various switches andLEDs 4009, and the like; numeral 4008 denotes a CPU interface whichcontrols data exchange between these interfaces and the DSP 3002; andnumeral 4010 denotes an internal bus (ASIC bus) which is connected tothese units.

[0053] Operation with the above arrangement will be roughly described.

[0054] <General PC Printer Mode>

[0055] A general PC printer mode is a print mode in which an image isprinted on the basis of print data sent from the PC 3010.

[0056] In this mode, when data from the PC 3010 is input via a USBconnector 1013 (FIG. 3), the data is directly sent to the printer engine3004 via the USB hub 3008 and USB 3021, and printing is done on thebasis of the data from the PC 3010.

[0057] <Direct Print Mode from PC Card>

[0058] When the PC card 3011 is mounted in or dismounted from the cardslot 1009, an interrupt occurs. The DSP 3002 can detect that the PC card3011 has been mounted or dismounted (removed). If the PC card 3011 ismounted, compressed (e.g., JPEG-compressed) image data stored in the PCcard 3011 is loaded and stored in the memory 3003. If printing of thestored image data is designated using the operation panel 1010, thecompressed image data is decompressed and stored in the memory 3003.Conversion from an RGB signal into a YMCK signal, gamma correction,error diffusion, and the like are executed to convert the stored datainto print data printable by the printer engine 3004. The print data isoutput to the printer engine 3004 via the IEEE 1284 interface 4002, andprinted.

[0059] <Direct Print Mode from Camera>

[0060]FIG. 5 depicts a view for explaining connection between the PDprinter apparatus 1000 and the digital camera 3012 according to theembodiment.

[0061] In FIG. 5, a cable 5000 has a connector 5001 which is connectedto the connector 1012 of the PD printer apparatus 1000, and a connector5002 which is connected to a connector 5003 of the digital camera 3012.The digital camera 3012 can output via the connector 5003 image datawhich is saved in an internal memory. The digital camera 3012 can takevarious arrangements such as an arrangement having an internal memory asa storage means, and an arrangement having a slot for mounting aremovable memory. The PD printer apparatus 1000 and digital camera 3012are connected via the cable 5000 shown in FIG. 5. Image data from thedigital camera 3012 can be directly printed by the PD printer apparatus1000.

[0062] When the digital camera 3012 is connected to the PD printerapparatus 1000, as shown in FIG. 5, the display 1006 of the operationpanel 1010 displays only a camera mark. Display and operation on theoperation panel 1010 become invalid, and display on the viewer 1011 alsobecomes invalid. After that, only key operation to the digital camera3012 and image display on the display (not shown) of the digital camera3012 are valid. The user can designate printing by using the digitalcamera 3012.

[0063] An object of the embodiment is to provide a PD printer apparatuscapable of connecting digital cameras of a plurality of vendors andprinting data. Protocols when the PD printer apparatus 1000 according tothe embodiment and a digital camera are connected to perform printingwill be explained in detail.

[0064] In the embodiment, communication control between the PD printerapparatus 1000 and the digital camera 3012 is performed using ageneral-purpose file and general-purpose format. This embodimentproposes NCDP (New Camera Direct Print).

[0065]FIG. 6 depicts a view showing an example of the NCDP arrangement.

[0066] In FIG. 6, reference numeral 600 denotes a USB interface; numeral601 denotes a Bluetooth interface; numeral 602 denotes an applicationlayer which is assembled in constructing an NCDP system; and numeral 603denotes a layer which is used to execute existing protocols andinterfaces and contains PTP (Picture Transfer Protocol), SCSI andBluetooth BIPs (Basic Image Profiles), a USB interface, and the like.NCDP according to the embodiment assumes that an architecture such as aprotocol layer is adopted and NCDP is supported as an application on thearchitecture. In this case, the PD printer apparatus 1000 and digitalcamera 3012 are respectively defined as a USB host and USB slave. The PDprinter apparatus 1000 and digital camera 3012 have the same NCDParrangement, as shown in FIG. 6.

[0067]FIG. 7 depicts a chart for explaining the flow of NCDPcommunication procedures between the PD printer apparatus 1000 and thedigital camera (DSC) 3012 according to the embodiment.

[0068] If it is detected that the PD printer apparatus 1000 and DSC 3012have been connected by the cable 5000, as shown in FIG. 5, these devicescan communicate with each other. Applications installed in these devicesare executed to start shift to NCDP procedure 701. Reference numeral 702denotes an NCDP initial state in which whether these devices can executeNCDP is decided. If so, the flow shifts to NCDP procedure 701. If theDSC 3012 does not support NCDP, no NCDP communication control isexecuted. If the DSC 3012 designates image data transfer/printing by“basic procedures” after shift to NCDP, as represented by 703, the flowshifts to a simple print mode in which an image file is transferred fromthe DSC 3012 to the PD printer apparatus 1000 and printed. If the DSC3012 designates image data transfer/printing by “recommendedprocedures”, as represented by 704, various negotiations are donebetween the DSC 3012 and the PD printer apparatus 1000 to decide printconditions. Thereafter, the flow shifts to a more advanced print mode inwhich an image file is transferred from the DSC 3012 to the PD printerapparatus 1000 and printed. If the DSC 3012 designates “extendedprocedures”, as represented by 705, a mode in which printing is donewith an advanced layout function such as DPOF, XHTML-print, or SVG, andvender-unique specifications of each vendor is set. Note that detailedspecifications by the “extended procedures” are defined by extendedspecifications unique to each DSC vendor, and will not be particularlyexplained. Image printing processes by the “basic procedures” and“recommended procedures” will be described with reference to FIGS. 9 to11.

[0069]FIG. 8 depicts a table for explaining commands which are definedto perform NCDP printing according to the embodiment.

[0070] In FIG. 8, a “corresponding mode” corresponds to theabove-described “basic procedures”, “recommended procedures”, and“extended procedures” which are designated from the DSC 3012. The“recommended procedures” can use all commands. The “basic procedures”,which correspond to the simple print mode, can use only shift to NCDP,end of NCDP, shift commands to the modes of the “basic procedures”,“recommended procedures”, and “extended procedures”, acquisition ofimage data from the camera 3012, and a print instruction from the camera3012. In FIG. 8, the “extended procedures” can use only shift to NCDP,end of NCDP, and shift commands to the modes of the “basic procedures”,“recommended procedures”, and “extended procedures”. As described above,the “extended procedures” can employ other commands in accordance withthe specifications of each vendor.

[0071] For example, it is also possible that the “extended procedures”use a Capability command, similar to the “recommended procedures”, andthe Capability contents contain vendor-unique parameter types andparameter values which are inherent in the “extended procedures”.

[0072] Image printing processes by the “basic procedures” and“recommended procedures” will be explained.

[0073]FIG. 9 depicts a chart for explaining NCDP communicationprocedures in image printing by the “basic procedures”. The “basicprocedures” correspond to the simple print mode in which only one imagefile not including print condition information is transferred in every aprint instruction from the DSC 3012 to the PD printer apparatus 1000 andprinted. Accordingly, the PD printer 1000 decides a print condition ofcolor correction and data conversion and the like. Corresponding imageformats are an RGB image of VGA size (640×480 pixels) and a JPEG imageof VGA size (640×480 pixels). The image file size is about 1 Mbyte orless. The DSC 3012 transmits an image file by an image format supportedby the PD printer apparatus 1000. In this case, no error handling isexecuted.

[0074] In 900, the PD printer apparatus 1000 transmits to the DSC 3012 acommand (NCDPStart) which designates shift to NCDP. If the DSC 3012supports NCDP, it sends back “OK” (901). An example using PTP will bedescribed in detail later with reference to FIG. 14, as an example ofperforming NCDP confirmation procedures.

[0075] After the PD printer apparatus 1000 and DSC 3012 confirm thatthey both support NCDP, the PD printer apparatus 1000 transmits to theDSC 3012 an instruction (ProcedureStart) for shifting to the NCDP mode(902). If the DSC 3012 sends in 903 the “basic procedures” whichcorrespond to the simple print mode, the print mode shifts to a mode bythe “basic procedures”. In this case, if an image to be printed isselected and printing is designated by operation to the DSC 3012, theDSC 3012 sends to the PD printer apparatus 1000 a command (JobStart)which designates the start of printing (904). In response to this, thePD printer apparatus 1000 shifts to the simple print mode, transmits acommand (GetImage) to the DSC 3012, and requests a JPEG image (905). TheDSC 3012 transmits a JPEG image (ImageData) to the PD printer apparatus1000 (906), and print processing in the PD printer apparatus 1000starts. After printing of the designated image ends, the PD printerapparatus 1000 transmits to the DSC 3012 a command (JobEnd) representingthe end of the print job (907). If the DSC 3012 sends back anacknowledgement (OK) in response to this command (908), print processingby the “basic procedures” ends. The “basic procedures” is decided on theassumption of simply exchanging information for designating an image tobe printed, so when a print operation has been decided in the “basicprocedures”, the print operation is immediately started withoutexchanging Capability as described later. However, whether to performprocessing by the “basic procedures” may be decided by the capabilitiesof both the DSC and PD printer apparatus.

[0076] In this embodiment, the DSC acquires which of the “basicprocedures”, “recommended procedures”, and “extended procedures” aresupported by the printer. However, the present invention is not limitedto this method, and the DSC may select proper procedures on the basis ofprinter information such as the printer name or vendor name. Forexample, the DSC holds “a list of printer names which support therecommended procedures”. The DSC selects the recommended procedures ifthe name of a connected printer is found in the list, and the basicprocedures if the name is not found.

[0077]FIG. 25 shows an example in which a printer vendor name andprinter model name are described in a script sent from the printer tothe DSC in a ProcedureStart command. FIG. 26 shows an example in which aDSC vendor name and DSC model name are described in a scriptsubsequently sent from the DSC to the printer.

[0078] In the embodiment, the JobStart command in the “basic procedures”designates only the image to be printed. An image format and file sizeare explained to be determined in advance. This means a print operationis able to be performed without exchanging Capability. However, even ifCapability is not exchanged, a print condition of an image format andprint size and the like can be designated. The DSC may designate, in theJobStart command, items which are recognized by the printer and DSC tobe “always supported by the printer” or “appropriately processed by theprinter in accordance with its capability”, similar to the image format.For this, upon exchanging information of devices and only when it isdetermined that both are predetermined devices, a print condition can bedesignated by a print job (script) without Capability. However, in orderto simplify the setting operation, the “basic procedures” is importantfor providing an operation procedure for a beginner.

[0079]FIG. 27 shows an example in which no Capability setting iscontained in a script sent from the DSC to the printer in the JobStartcommand in the “basic procedures”. FIG. 28 shows an example in whichitems “always supported by the printer” or “appropriately processed bythe printer in accordance with its own capability” that are recognizedin advance between the printer and the DSC are set in a script sent fromthe DSC to the printer in the JobStart command in the “basicprocedures”.

[0080]FIG. 10 depicts a chart for explaining NCDP communicationprocedures in image printing by the “recommended procedures”. The samereference numerals as in FIG. 9 denote the same procedures in FIG. 10,and a description thereof will be omitted. The “recommended procedures”can set a “more advanced print mode” which assumes negotiations betweenthe PD printer apparatus 1000 and the DSC 3012. Printing of a pluralityof photographs can be realized by one print instruction. Further, theDSC 3012 sends information of print condition by a script format (text)to the PD printer apparatus 1000, and the PD printer apparatus 1000 canprint an image based on the print condition including color setting andlayout and the like. Also, error handling can be executed.

[0081] In FIG. 10, after the PD printer apparatus 1000 and DSC 3012confirm that they both support NCDP, similar to FIG. 9, the DSC 3012designates the “recommended procedures” (910). Procedures by the“recommended procedures” are executed. As represented by 911, the PDprinter apparatus 1000 notifies the DSC 3012 of, as Capabilityinformation, all the functions of the PD printer apparatus 1000 andfunctions including paper setting. The Capability information istransmitted in a script format (text) to the DSC 3012.

[0082]FIG. 12 shows an example of the Capability information.

[0083] As shown in FIG. 12, the Capability information contains the typeand size of printable paper, the print quality, the image data format,the presence/absence of date printing, the presence/absence of file nameprinting, the layout, the presence/absence of image correction, and asan option the presence/absence of functions corresponding to thespecifications of each camera vendor.

[0084] The script notation of Capability information facilitates portingto the architecture of another communication protocol, andstandardization of exchange of function information. The script notationmay comply with XML.

[0085] The user of the DSC 3012 which has received the Capabilityinformation determines which of the functions of the PD printerapparatus 1000 is used to perform printing. The user selects an image tobe printed, and selects and decides the print conditions of the imagefrom the functions of the PD printer apparatus 1000. After the image tobe printed, the print conditions, and the like are decided and the startof printing is designated, a print instruction (JobStart) is sent to thePD printer apparatus 1000. The PD printer apparatus 1000 issues acommand (GetImagexn) which requests image data (912). In response tothis, the DSC 3012 transmits corresponding image data (ImageData) in animage format (Tiff, JPEG, RGB, or the like) receivable by the PD printerapparatus 1000 (913). A plurality of image data can be transmitted forprinting of one image. This is because, when, for example, 2×2 layoutprinting is designated, image data of four images must be transmittedfor one paper sheet. After printing of the designated image ends, the PDprinter apparatus 1000 transmits to the DSC 3012 a command (JobEnd)representing the end of the print job (907). If the DSC 3012 sends backan acknowledgement (OK) in response to this command (908), processingshifts to image selection/print processing by the “recommendedprocedures”.

[0086] In the embodiment, the printer 1000 issues a Capabilityinformation to the DSC 3012 without any request from the DSC 3012. Thepresent invention is not limited to this method, and it is also possiblethat the DSC requests Capability of the printer and the printer notifiesthe DSC of Capability in response to the request. With respect the abovedescribed point of view:

[0087] ProcedureStart command representing “shift to the recommendedprocedures” is received, Capability is sent, so that “ProcedureStartcommand” has the same meaning as “Capability request”

[0088] Capability information is sent as a response to “ProcedureStartcommand” as Capability request.

[0089]FIG. 11 depicts a chart for explaining communication procedureswhen an error occurs in the PD printer apparatus 1000 in NCDPcommunication procedures in image printing by the “recommendedprocedures”. The same reference numerals as in FIG. 10 denote the sameprocedures, and a description thereof will be omitted.

[0090] In this example, a paper feed error occurs in the PD printerapparatus 1000 during print processing by the “recommended procedures”.In 914, the PD printer apparatus 1000 transmits to the DSC 3012 statusinformation (Status) representing the paper feed error. The DSC 3012transmits to the PD printer apparatus 1000 a command representingwhether to continue (JobContinue) or abort (JobAbort) print processingon the basis of the decision by the user of the DSC 3012. If “abort” isdesignated, the PD printer apparatus 1000 aborts print processing,transmits a print job end notification (JobEnd), and ends printing. If“continue” is designated, the PD printer apparatus 1000 waits forrecovery of the paper feed error, and then continues print processing.

[0091] The above-described processing procedures will be explained withreference to the flow chart of FIG. 13.

[0092]FIG. 13 is a flow chart for explaining the processing proceduresshown in FIG. 7.

[0093] In step S1, communication is established between the digitalcamera (DSC) 3012 and the PD printer apparatus 1000 (700). In step S2,whether these devices support NCDP is determined, and if YES, theprocessing shift to NCDP. The flow advances to step S3 to receive aprocedure instruction from the DSC 3012, and the processing shifts tothe designated procedure. If the “basic procedures” are designated, theflow advances from step S4 to step S5 to execute print processing by the“basic procedures”. If the “recommended procedures” are designated, theflow advances from step S6 to step S7 to execute print processing by the“recommended procedures”. If the “extended procedures” are designated,the flow advances from step S8 to step S9 to execute print processing by“extended procedures” corresponding to each vendor. Otherwise, the flowadvances to step S10 to execute printing in a mode unique to the PDprinter apparatus 1000 and DSC 3012.

[0094] In FIG. 13 according to the embodiment, the processing shiftsfrom the NCDP mode to the “basic procedures”, “recommended procedures”,“extended procedures”, or “unique mode”. It is also possible that,immediately when the “basic procedures” are selected at the same time asshift to the NCDP mode, JobStart can be received, and then theprocessing shifts to another procedure or mode in accordance with arequest from the DSC or printer.

[0095] According to the embodiment, a shift to a condition being able toprint has a priority. For a unskilled person who is a poor atcomplicated setting, it becomes easier to print without settingcomplicated settings. On the other hand, for a good skilled person, aprint image can be obtained under a higher print condition. In this way,a print system can be configured based on the level of user's skill.

[0096] An example (PTP wrapper) of realizing various NCDP commands (FIG.8) described above by using general-purpose PTP will be explained. Theembodiment will describe NCDP using PTP, but the present invention isnot limited to this. For example, a direct print service API may besupported by another interface and another class.

[0097] [NCDPStart]

[0098]FIG. 14 depicts a chart for explaining an example of realizing byusing a PTP architecture an instruction (NCDPStart) which designates thestart of NCDP procedures.

[0099] After the PD printer apparatus 1000 and DSC 3012 are physicallyconnected, the PD printer apparatus 1000 transmits GetDeviceInfo to theDSC 3012 in 1400, and requests, of the DSC 3012, information on anobject held by the DSC 3012. In response to this, the DSC 3012transmits, to the PD printer apparatus 1000 by DeviceInfoDataset,information on the object held by the DSC 3012. By OpenSession in 1402,the PD printer apparatus 1000 assigns the DSC 3012 as a resource, ifnecessary assigns a handle to a data object, and issues a start requestfor procedures of performing special initialization. If the DSC 3012sends back an acknowledge (OK), PTP communication starts. In 1403, thePD printer apparatus 1000 transmits GetObjectHandles to the DSC 3012,and requests all script handles (Storage ID: FFFFFF, Object Type:Script). In 1404, the DSC 3012 sends back a list of all handles(ObjectHandleArray) held by the DSC 3012. In 1405 and 1406, the ithobject handle information is acquired from the PD printer apparatus1000. If this object contains a keyword (e.g., password “Marco”)representing the identification of the DSC 3012, the PD printerapparatus 1000 instructs in 1407 the DSC 3012 to transmit objectinformation (SendObjectInfo). If the PD printer apparatus 1000 receivesan acknowledge (OK), it transmits the object information to the DSC 3012by SendObject. The object contains, e.g., “Polo” as a response keywordto the first keyword.

[0100] In this manner, the PD printer apparatus 1000 and DSC 3012 canrecognize each other as connected partners. After that, the processingcan shift to NCDP procedures (701 in FIG. 7). Transport layers capableof exchanging files can reliably exchange keywords. That is, keywordscan be exchanged using the PTP architecture without adding anNCDP-unique command and the like in the embodiment. The keyword is notlimited to the above example, and the DSC 3012 and PD printer apparatus1000 may use the same keyword. To shorten the time taken fornegotiations by the keyword, the keyword may be set at the start of ascript handle. This can shorten the time taken to confirm partnerdevices.

[0101] [ProcedureStart]

[0102]FIG. 15 depicts a chart for explaining an example in which aninstruction which designates shift procedures to the NCDP print mode isreceived from the DSC 3012, and an instruction (ProcedureStart) (902)from the PD printer apparatus 1000 to the DSC 3012 for shifting to themode is realized by using the PTP architecture.

[0103] In 1501, the PD printer apparatus 1000 notifies the DSC 3012 bySendObjectInfo of object information to be transmitted, in order tonotify the DSC 3012 of the procedures: “basic procedures”, “recommendedprocedures”, and “extended procedures” which are supported by the PDprinter apparatus 1000. If the DSC 3012 sends an acknowledge (OK), thePD printer apparatus 1000 notifies the DSC 3012 by SendObject in 1502 oftransmission of an object. In 1503, the PD printer apparatus 1000transmits, by ObjectData, information on the procedures supported by thePD printer apparatus 1000. In 1504, the DSC 3012 notifies the PD printerapparatus 1000 that GetObject operation is to be activated (shift to apush mode) (RequestObjectTransfer). If the PD printer apparatus 1000notifies the DSC 3012 in 1505 that the PD printer apparatus 1000 is toreceive information on object information (GetObjectInfo), the DSC 3012sends back the information to the PD printer apparatus 1000 byObjectInfoDataset in 1506. If the PD printer apparatus 1000 designatesand requests the object information in 1507, the DSC 3012 notifies thePD printer apparatus 1000 by ObjectDataset of procedures (“basic”,“recommended”, “extended”, or the like) used by the DSC 3012 (1508).

[0104] In this fashion, the DSC 3012 can instruct the PD printerapparatus 1000 of the print mode of an image.

[0105] [NCDPEnd]

[0106]FIG. 16 depicts a chart for explaining an example of realizing byusing the PTP architecture an instruction (NCDPEnd) for endingcommunication control procedures in NCDP according to the embodiment.

[0107] In these procedures, the PD printer apparatus 1000 notifies theDSC 3012 in 1600 of object information to be transmitted(SendObjectInfo). The PD printer apparatus 1000 notifies the DSC 3012 bySendObject of transmission of the object information, and notifies theDSC 3012 by ObjectData of exit from the NCDP mode. If the PD printerapparatus 1000 receives an acknowledge (OK), it transmits CloseSessionin 1601, and ends communication. As a result, the NCDP communicationprocedures end.

[0108] [Capability]

[0109]FIG. 17 depicts a chart for explaining an example of realizing, byusing the PTP architecture, communication procedures by a Capabilityinstruction which notifies the DSC 3012 of the function of the PDprinter apparatus 1000 in NCDP according to the embodiment.

[0110] In these procedures, the PD printer apparatus 1000 notifies theDSC 3012 in 1700 by SendObjectInfo of object information to betransmitted. In 1701, the PD printer apparatus 1000 notifies the DSC3012 by SendObject of transmission of the object information, andnotifies the DSC 3012 by ObjectData of the functions of the PD printerapparatus 1000 in the script format (FIG. 12).

[0111] [GetImage]

[0112]FIG. 18 depicts a chart for explaining an example of realizing, byusing the PTP architecture, communication procedures (GetImage) in whichthe PD printer apparatus 1000 acquires image data (JPEG image) held bythe DSC 3012 in NCDP according to the embodiment.

[0113] In 1800, the PD printer apparatus 1000 requests information on anobject held by the DSC 3012. In 1801, the DSC 3012 sends information(ObjectInfoDataset) on the object to the PD printer apparatus 1000. In1802, the PD printer apparatus 1000 designates the object, and issues anacquisition request (GetObject). In 1803, the DSC 3012 transmits therequested image file (ObjectDataset) to the PD printer apparatus 1000.As a result, the PD printer apparatus 1000 can acquire a desired imagefile from the DSC 3012.

[0114] [StatusSend]

[0115]FIG. 19 depicts a chart for explaining an example of realizing, byusing the PTP architecture, communication procedures (StatusSend) inwhich the PD printer apparatus 1000 notifies the DSC 3012 of an errorstatus in NCDP according to the embodiment.

[0116] In 1900, the PD printer apparatus 1000 notifies the DSC 3012 bySendObjectInfo of object information to be transmitted. In 1901, the PDprinter apparatus 1000 transmits an information set (ObjectInfoDataset)on the object information to the DSC 3012. In response to an acknowledge(OK) from the DSC 3012, the PD printer apparatus 1000 transmits statusinformation such as an error in the PD printer apparatus 1000 bySendObject and ObjectDataset. Data which is transmitted from the PDprinter apparatus 1000 to the DSC 3012 is text data (script)

[0117] [PageEnd]

[0118]FIG. 20 depicts a chart for explaining an example of realizing, byusing the PTP architecture, communication procedures (PageEnd) in whichthe PD printer apparatus 1000 notifies the DSC 3012 of the end of printprocessing of one page in NCDP according to the embodiment.

[0119] [JobEnd]

[0120]FIG. 21 depicts a chart for explaining an example of realizing, byusing the PTP architecture, communication procedures (JobEnd) in whichthe PD printer apparatus 1000 notifies the DSC 3012 of the end of aprint job in NCDP according to the embodiment.

[0121] In FIGS. 20 and 21, after procedures 1900 and 1901 in FIG. 19 areexecuted, the PD printer apparatus 1000 notifies the DSC 3012 in 1910 ofFIG. 20 of the end of print processing of one page. In 1911 of FIG. 21,the PD printer apparatus 1000 notifies the DSC 3012 of the end of theprint job. Data (page end and job end) which are transmitted from the PDprinter apparatus 1000 to the DSC 3012 are text data (script).

[0122] [JobStart]

[0123]FIG. 22 depicts a chart for explaining an example of realizing, byusing the PTP architecture, communication procedures (JobStart) in whichthe PD printer apparatus 1000 notifies the DSC 3012 of the start of aprint job in NCDP according to the embodiment.

[0124] In 2200, the DSC 3012 sends RequestObjectTransfer to the PDprinter apparatus 1000, and prompts the PD printer apparatus 1000 toissue a GetObject command. If the PD printer apparatus 1000 issuesGetObjectInfo in 2201, the DSC 3012 transmits information on objectinformation to be transmitted. If the PD printer apparatus 1000 requeststhe object information (GetObject: 2203), the DSC 3012 transmitsObjectDataset in 2204, and issues a print instruction to the PD printerapparatus 1000. Data (print start instruction) which is transmitted fromthe DSC 3012 to the PD printer apparatus 1000 is text data (script).

[0125] [JobAbort]

[0126]FIG. 23 depicts a chart for explaining an example of realizing, byusing the PTP architecture, communication procedures (JobAbort) in whichthe DSC 3012 issues a print abort instruction to the PD printerapparatus 1000 in NCDP according to the embodiment.

[0127] [JobContinue]

[0128]FIG. 24 depicts a chart for explaining an example of realizing, byusing the PTP architecture, communication procedures (JobContinue) inwhich the DSC 3012 issues a print restart instruction to the PD printerapparatus 1000 in NCDP according to the embodiment.

[0129] In FIGS. 23 and 24, after procedures 2200 to 2203 in FIG. 22 areexecuted, the DSC 3012 issues a print abort instruction to the PDprinter apparatus 1000 in 2301 of FIG. 23. In 2401 of FIG. 24, the DSC3012 notifies the PD printer apparatus 1000 of a print restartinstruction. Data (print abort instruction and print restartinstruction) which are transmitted from the DSC 3012 to the PD printerapparatus 1000 are text data (script).

[0130] The present invention may be applied to a system including aplurality of devices (e.g., a host computer, interface device, reader,and printer) or an apparatus (e.g., a copying machine or facsimileapparatus) formed from a single device.

[0131] The object of the present invention is also achieved when astorage medium (or recording medium) which stores software program codesfor realizing the functions of the above-described embodiment (processesexecuted on the camera side and various print processes executed on theprinter side) is supplied to a system or apparatus, and the computer (orthe CPU or MPU) of the system or apparatus reads out and executes theprogram codes stored in the storage medium. In this case, the programcodes read out from the storage medium realize the functions of theabove-described embodiment, and the storage medium which stores theprogram codes constitutes the present invention. The functions of theabove-described embodiment are realized when the computer executes thereadout program codes. Also, the functions of the above-describedembodiment are realized when an OS (Operating System) or the likerunning on the computer performs part or all of actual processing on thebasis of the instructions of the program codes.

[0132] The functions of the above-described embodiment are also realizedwhen the program codes read out from the storage medium are written inthe memory of a function expansion card inserted into the computer orthe memory of a function expansion unit connected to the computer, andthe CPU of the function expansion card or function expansion unitperforms part or all of actual processing on the basis of theinstructions of the program codes.

[0133] As has been described above, according to the above-describedembodiment, a PD printer apparatus and DSC are respectively set as ahost and slave. Before print operation, Capability information of the PDprinter apparatus is transmitted to the DSC. The DSC decides an optimalprint mode on the basis of the Capability information.

[0134] The Capability information is transmitted as a script. Thisfacilitates porting to another communication protocol andstandardization.

[0135] Communication procedures between devices use a general-purposefile and general-purpose format. An upper layer defines thecommunication procedure layer of an application according to theembodiment. Communication procedures independent of various interfacespecifications can be defined.

[0136] In the print system of the embodiment, many unspecified devicesare connected via various interfaces. Information must be exchanged bystandard specifications supported by various interfaces. Functioninformation which is necessary for transmission/reception betweendevices is realized by “file transfer” or “object transfer”, easilycomplying with various interface specifications.

[0137] The image supply device includes a PDA, cell phone, television,video device, and image storage device, in addition to a digital camera.

[0138] The general-purpose interface includes connection to a networksuch as the Internet, in addition to the above-mentioned USB and IEEE1394.

[0139] The present invention is not limited to the above embodiments andvarious changes and modifications can be made within the spirit andscope of the present invention. Therefore, to apprise the public of thescope of the present invention, the following claims are made.

What is claimed is:
 1. A printing system in which an image supply deviceand a printing apparatus are directly connected via a general-purposeinterface, and image data is transmitted from the image supply device tothe printing apparatus and printed, the system comprising: transmissionmeans for transmitting function information of the printing apparatusfrom the printing apparatus to the image supply device afterestablishing a communication procedure by an application installed inthe printing apparatus and the image supply device; and means forcausing the printing apparatus to execute print operation in accordancewith a print condition set by the image supply device on the basis ofthe function information transmitted by said transmission means.
 2. Thesystem according to claim 1, wherein the printing apparatus and theimage supply device are respectively set as a host and a slave in thegeneral-purpose interface.
 3. The system according to claim 1, whereinthe general-purpose interface includes a USB.
 4. The system according toclaim 1, wherein the image supply device includes a digital camera, andthe printing apparatus includes a color printer apparatus.
 5. The systemaccording to claim 1, wherein establishment of the communicationprocedure includes communication establishment based on a protocoldefined by a general standard.
 6. The system according to claim 1,wherein the printing apparatus has a first print mode of printing basedon the function information and a second print mode of printing withoutexchanging the function information by said transmission means after theestablishment of the communication.
 7. The system according to claim 6,wherein the first print mode and the second print mode are alternativelyset by exchanging the function information by said transmission means.8. A method of controlling a printing system in which an image supplydevice and a printing apparatus are directly connected via ageneral-purpose interface, and image data is transmitted from the imagesupply device to the printing apparatus and printed, the methodcomprising: a transmission step of transmitting function information ofthe printing apparatus from the printing apparatus to the image supplydevice after establishing a communication procedure by an applicationinstalled in the printing apparatus and the image supply device; and astep of causing the printing apparatus to execute print operation inaccordance with a print condition set by the image supply device on thebasis of the function information transmitted in said transmission step.9. The method according to claim 8, wherein the printing apparatus andthe image supply device are respectively set as a host and a slave inthe general-purpose interface.
 10. The method according to claim 8,wherein establishment of the communication procedure includescommunication establishment based on a protocol defined by a generalstandard.
 11. The method according to claim 8, wherein the printingapparatus has a first print mode of printing based on the functioninformation and a second print mode of printing without exchanging thefunction information in said transmission step after the establishmentof the communication.
 12. The method according to claim 11, wherein thefirst print mode and the second print mode are alternatively set byexchanging the function information by said transmission means.
 13. Aphoto-direct printer apparatus which is directly connected to an imagesupply device via a general-purpose interface, and receives and printsimage data from the image supply device, comprising: communication meansfor executing a communication procedure by an application installed inthe image supply device and the printer apparatus, and executing dataexchange between the image supply device and the printer apparatus;transmission means for transmitting function information of thephoto-direct printer apparatus to the image supply device afterestablishing communication by said communication means; and printingmeans for executing print operation in accordance with a print conditionset by the image supply device on the basis of the function informationtransmitted by said transmission means.
 14. A printing system in whichan image supply device and a printing apparatus are directly connectedvia a USB interface, and image data is transmitted from the image supplydevice to the printing apparatus and printed, wherein the image supplydevice and the printing apparatus have an application which operates inaccordance with an image transfer protocol installed in the USBinterface, the printing apparatus comprising: transmission means fortransmitting function information of the printing apparatus to the imagesupply device in accordance with the image transfer protocol afterestablishing a communication procedure by the application installed inthe printing apparatus and the image supply device, and print controlmeans for executing print operation in accordance with a print conditiontransmitted from the image supply device, and the image supply devicecomprising: means for setting the print condition on the basis of thefunction information transmitted by the transmission means, andtransmitting the print condition to the printing apparatus.
 15. Aphoto-direct printer apparatus which is directly connected to an imagesupply device via a USB interface, and receives and prints image datafrom the image supply device, the apparatus comprising: an applicationwhich operates in accordance with an image transfer protocol installedin the USB interface; communication means for executing a communicationprocedure by the application installed in the image supply device andthe printer apparatus, and executing data exchange between the imagesupply device and the printer apparatus; transmission means fortransmitting function information of the photo-direct printer apparatusto the image supply device in accordance with the image transferprotocol after establishing communication by said communication means;reception means for receiving a print condition set by the image supplydevice on the basis of the function information transmitted by saidtransmission means; and printing means for executing print operation inaccordance with the print condition received by said reception means.